home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 8
/
Aminet 8 (1995)(GTI - Schatztruhe)[!][Oct 1995].iso
/
Aminet
/
comm
/
dlg
/
DLG_Correct_20.lha
/
DLG_Correct.txt
< prev
next >
Wrap
Text File
|
1995-07-11
|
7KB
|
168 lines
DLG Correct / PDQ Export
Solution Fix v2.0
July 11, 1995
In the recent months there has been a great amount of discussion over the
problem of filenote stripping when using DLG's Msg_Correct funtion. For a
while it seemed that a small battle was developing over positions of "we
need the correct feature" and "remove it to solve the problem."
My personal opinion of this feature is that it is one of the most valuable
functions from within DLG's Message Menu arsenal. In order for the
Msg_Correct feature to remain viable, the problem of the message filenote
being stripped has to be addressed.
This fix will solve the problem until DLG v2.0 is released with the
correct-bug fixed (and from what I hear this has already been done). The
alpha of this release utilized the few working parts of DLG's Arexx
capabilities, but ran into problems when I noticed that the Arexx portion
of DLG dies as soon as any other background disk activity occurs.
This fix will only work for those utilizing the Msg_Correct function from
a MESS-type menu (usually MSG_MAIN).
Revisions:
~~~~~~~~~~
v2.0, 07/09/95: Rewrote the entire fix into two Arexx scripts.
Fixed a bug when correcting a message in your Pvt area.
Added port checking in case more than one person corrects
messages simultaneously.
No longer force filenotes; only re-append if they
originally existed.
v1.2, 06/21/95: Forced the creation of a filenote on a message being
corrected that lacked one. This stopped the script from
dying.
v1.1, 06/18/95: First public release.
Installation:
~~~~~~~~~~~~~
**| If you are upgrading from the previous release of this |**
**| fix, then you may delete all DLGConfig:Batch/DLG_Correct.* |**
**| files before proceeding. |**
1. Cut/Copy the below-written files to their appropriate directories and
filenames and noted above each.
2. You will need to configure the menu item from which the Msg_Correct
function is called. Again, this is usually MSG_MAIN, option C.
3. Modify the menu item so that its configuration is:
[ 2] Menu script: (path/name) DLGConfig:Batch/DLG_Correct.menuscr
[ 5] Type: Menu script
[10] Load Type: OVERLAY
[13] Cli mode: YES
The rest can probably stay the same.
4. The script used require that you have DELETE, FILENOTE, and LIST in your
C: directory (there's almost no reason for them not being there now).
It also requires that you have a T: directory.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Menu Script "DLGConfig:Batch/DLG_Correct.menuscr"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
EXE RX Rexx:DLG_PreCorrect.rexx %UNAME %PORT %Msg_AreaNumber %Msg_MsgNumber
BUILTIN Msg_Correct
EXE RX Rexx:DLG_PostCorrect.rexx %PORT
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Arexx Script "REXX:DLG_PreCorrect.rexx"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/*************************************************************************/
/* DLG Correct / PDQ Export */
/* Solution Fix v2.0 */
/* */
/* Pre-Process Module */
/* */
/* Created by Jon Godfrey (RE0273) */
/* Fido: 1:212/1005 INet: jdgodfre@slonet.org */
/*************************************************************************/
parse arg arg_list
parse var arg_list uname port area msgnum
uname=strip(uname,b) ;port=strip(port,b); area=strip(area,b); msgnum=strip(msgnum,b)
no_filenote_flag = 0
tempfile = 't:dlg_correct.'||port
delete_tempfile = 'c:delete >NIL: '||tempfile
filenote_file = 't:filenote.'||port
if area=="PVT" then
msg_path = 'USER:'||uname||'/'||msgnum||'.msg'
else
msg_path = 'MSG:'||area||'/'||msgnum||'.msg'
list_msg_info = 'c:list >'||tempfile||' '||msg_path||' nohead'
address command list_msg_info
call open(fn,tempfile,R)
filename = readln(fn)
filenote = readln(fn)
if eof(fn) = 1 then no_filenote_flag = 1
call close(fn)
address command delete_tempfile
if no_filenote_flag = 0 then do
filenote = right(filenote,length(filenote)-2)
call open(note,filenote_file,W)
writeln(note,msg_path)
writeln(note,filenote)
call close(note)
end
exit
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Arexx Script "REXX:DLG_PostCorrect.rexx"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/*************************************************************************/
/* DLG Correct / PDQ Export */
/* Solution Fix v2.0 */
/* */
/* Post-Process Module */
/* */
/* Created by Jon Godfrey (RE0273) */
/* Fido: 1:212/1005 INet: jdgodfre@slonet.org */
/*************************************************************************/
parse arg port
filenote_file = 't:filenote.'||port
delete_filenote_file = 'c:delete >NIL: '||filenote_file
if exists(filenote_file) then do
call open(note,filenote_file,R)
msg_path = readln(note)
filenote = readln(note)
call close(note)
filenote_command = 'c:filenote '||msg_path||' "'filenote'"'
address command filenote_command
address command delete_filenote_file
end
exit
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I have extensively tested this modification with no loss of filenotes when
they have existed prior to running this fix.
The fix is released as freeware for the benefit of the DLG users. My only
request of you is to send me any improvements you might make.
This file is also available for FREQ from 1:212/1005 under the magic
filename of CORRECT and from Aminet Comm/Dlg as "DLG_Correct20.lha".